package com.ssy.lingxi.order.model.vo.buyer.request;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 创建待新增采购收货单商品请求参数
 * @author wyx
 * @version 2.0.0
 * @date 2022-01-13
 */
public class BuyerReceiveGoodsProductVO implements Serializable {
    private static final long serialVersionUID = -4917739692304697126L;
    /**
     * 商品id
     */
    @NotNull(message = "商品Id要大于0")
    private Long productId;

    /**
     * 商品名称
     */
    @NotBlank(message = "商品名称不能为空")
    private String name;

    /**
     * 品类
     */
    private String category;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 单位
     */
    @NotBlank(message = "单位不能为空")
    private String unit;

    /**
     * 订单数量
     */
    @NotNull(message = "数量要大于0")
    @Positive(message = "数量要大于0")
    private BigDecimal orderQuantity;

    /**
     * 商品单价
     */
    @NotNull(message = "商品单价不能为空")
    private BigDecimal price;

    /**
     * 发货数量
     */
    @NotNull(message = "发货数量不能为空")
    @Positive(message = "发货数量要大于0")
    private BigDecimal deliveryQuantity;

    /**
     * 收货/发货金额
     */
    @NotNull(message = "金额不能为空")
    private BigDecimal amount;

    /**
     * 商品重量
     */
    private BigDecimal weight;

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public BigDecimal getOrderQuantity() {
        return orderQuantity;
    }

    public void setOrderQuantity(BigDecimal orderQuantity) {
        this.orderQuantity = orderQuantity;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getDeliveryQuantity() {
        return deliveryQuantity;
    }

    public void setDeliveryQuantity(BigDecimal deliveryQuantity) {
        this.deliveryQuantity = deliveryQuantity;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }
}
